/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ept.entities;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Khalil
 */
@Entity
@Table(name = "commandefournisseur", catalog = "final", schema = "")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Commandefournisseur.findAll", query = "SELECT c FROM Commandefournisseur c"),
    @NamedQuery(name = "Commandefournisseur.findByDateAchat", query = "SELECT c FROM Commandefournisseur c WHERE c.dateAchat = :dateAchat"),
    @NamedQuery(name = "Commandefournisseur.findByPrixAcquisition", query = "SELECT c FROM Commandefournisseur c WHERE c.prixAcquisition = :prixAcquisition"),
    @NamedQuery(name = "Commandefournisseur.findByDateExpiration", query = "SELECT c FROM Commandefournisseur c WHERE c.dateExpiration = :dateExpiration"),
    @NamedQuery(name = "Commandefournisseur.findByIdCommandeFournisseur", query = "SELECT c FROM Commandefournisseur c WHERE c.idCommandeFournisseur = :idCommandeFournisseur")})
public class Commandefournisseur implements Serializable {
    private static final long serialVersionUID = 1L;
    @Column(name = "dateAchat")
    @Temporal(TemporalType.DATE)
    private Date dateAchat;
    @Column(name = "prixAcquisition")
    private Integer prixAcquisition;
    @Column(name = "dateExpiration")
    @Temporal(TemporalType.DATE)
    private Date dateExpiration;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "idCommandeFournisseur", nullable = false)
    private Integer idCommandeFournisseur;
    @JoinColumn(name = "IdProduit", referencedColumnName = "IdProduit")
    @ManyToOne
    private Produit idProduit;
    @JoinColumn(name = "idFournisseur", referencedColumnName = "idFournisseur")
    @ManyToOne
    private Fournisseur idFournisseur;

    public Commandefournisseur() {
    }

    public Commandefournisseur(Integer idCommandeFournisseur) {
        this.idCommandeFournisseur = idCommandeFournisseur;
    }

    public Date getDateAchat() {
        return dateAchat;
    }

    public void setDateAchat(Date dateAchat) {
        this.dateAchat = dateAchat;
    }

    public Integer getPrixAcquisition() {
        return prixAcquisition;
    }

    public void setPrixAcquisition(Integer prixAcquisition) {
        this.prixAcquisition = prixAcquisition;
    }

    public Date getDateExpiration() {
        return dateExpiration;
    }

    public void setDateExpiration(Date dateExpiration) {
        this.dateExpiration = dateExpiration;
    }

    public Integer getIdCommandeFournisseur() {
        return idCommandeFournisseur;
    }

    public void setIdCommandeFournisseur(Integer idCommandeFournisseur) {
        this.idCommandeFournisseur = idCommandeFournisseur;
    }

    public Produit getIdProduit() {
        return idProduit;
    }

    public void setIdProduit(Produit idProduit) {
        this.idProduit = idProduit;
    }

    public Fournisseur getIdFournisseur() {
        return idFournisseur;
    }

    public void setIdFournisseur(Fournisseur idFournisseur) {
        this.idFournisseur = idFournisseur;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idCommandeFournisseur != null ? idCommandeFournisseur.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Commandefournisseur)) {
            return false;
        }
        Commandefournisseur other = (Commandefournisseur) object;
        if ((this.idCommandeFournisseur == null && other.idCommandeFournisseur != null) || (this.idCommandeFournisseur != null && !this.idCommandeFournisseur.equals(other.idCommandeFournisseur))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.ept.entities.Commandefournisseur[ idCommandeFournisseur=" + idCommandeFournisseur + " ]";
    }
    
}
